package org.oproject.rmi.hessian.core.context;

import java.util.List;

import org.oproject.rmi.hessian.core.logger.LogFactory;
import org.oproject.rmi.hessian.core.logger.Logger;

/**
 * 初始化类：可以实现自己的初始化类，实现getInitors方法即可
 * @see
 * @author shenqing
 * @since 1.0
 * @version 1.0, Nov 16, 2010 1:26:20 PM
 */
public abstract class InitHessian
{
	private static Logger log = LogFactory.getLogger(InitHessian.class);

	public InitHessian(){}
	
	/**
	 * 加载初始化对象
	 */
	protected abstract List<Initor> getInitors();

	/**
	 * 执行初始化操作
	 */
	public void init()
	{
		List<Initor> initors = getInitors();

		log.info("<-- 开始初始化 hessian 环境 -->");

		for (Initor _initor : initors)
		{
			_initor.init();
		}

		log.info("<-- hessian 环境初始化结束 -->");
	}
}
